Nmap 介绍与基本使用教程 - sbw Blog

Nmap 介绍与基本使用教程

来源: 石博文博客 | 浏览: 6883 | 评论: 2 发表时间: 2013-09-23

Nmap("Network Mapper",网络映射器)是一款开源的,用于网络发现和安全审计的网络安全工具,它用于快速扫描大型网络,或针对某个主机进行详细扫描.Nmap强大的原因是它使用原始的IP报文来进行询问扫描,可以快速准确的判断出网络中有哪些主机,这些主机的操作系统等特征以及运行了什么服务.了解了这些信息,就可以评估出当前主机的网络状况是否安全.



第一个示例

查找当前局域网中所有在线的主机,假设局域网IP网段为192.168.1.1-255.


使用nmap查找当前局域网中所有在线的主机

这种扫描方式被称为ping扫描,因为只从ping的回复来判断主机状态,所以非常迅速,可以看到,在3.18秒内,就完成了针对这255个IP地址的扫描,这条命令适合用来进行主机发现.


当然,因为只是简单的使用ping来回复,那么,如果主机不回复这个ping请求,这样的扫描就不起作用了,其实,上面的这个扫描结果也是不完全的主机列表.


使用ARP Ping

对于上面的情况,即在一个局域网中进行扫描,那么最好的选择应该是ARP Ping扫描,使用下面的命令进行ARP Ping扫描:


使用nmap进行ARP ping

上面的图列出了部分扫描输出,从最后的信息可以看出,这次扫描一共扫出了7个地址,比上面的Ping扫描发现了更多的主机,虽然时间花了29.75秒,但为了能完全的扫描出所有主机,这点时间还是很值得等待的.


找到主机列表后,下来就是针对各个主机进行端口的扫描了. Nmap提供了非常多的参数来控制各个扫描,其中,用于端口扫描的选项格式为 -s<X> 这里的X通常是一个大写字符,代表了不同的扫描方式.


经典的SYN半开扫描
使用nmap进行SYN半开扫描

上图是使用半开扫描扫一台路由设备得到的信息.使用半开扫描的好处就是,很少有系统或者防火墙会记录半开扫描.所以,不会产生大量的日志文件,也就不容易被目标机器管理员发现.


不过,如果你不在乎产生这些日志文件,还有一个好的方法来扫描:


TCP扫描

这种扫描方式被称作TCP扫描,虽然会在防火墙日志中产生大量的错误记录,但它的好处是不需要root权限.


ftp弹跳扫描

ftp弹跳扫描是端口扫描中唯一不是-s<X>格式的扫描方式,因为它不是直接对端口进行扫描,而是利用ftp服务中的"代理ftp连接"来检测端口,参数中要给出这个ftp服务器的用户名,密码以及服务器地址与ftp端口(通过这个端口来发现更多端口).当然,若此ftp主机允许匿名访问的话,可以省略@前面的用户名及密码.同样,若ftp工作在默认端口21上,port也可以省略.


设置Nmap扫描的端口范围

上面的所有扫描方式,都会使Nmap扫描大约1600个端口,通常我们只想知道一些常用的端口是否开放,那么,可以使用-p参数来指定端口范围.


系统类型与服务版本探测
使用nmap进行服务版本探测

可以看出,192.168.1.1开启了nginx服务器,并且nginx版本为1.4.2


使用nmap进行系统类型探测

Nmap成功的分析出这个IP是一台Linux主机,并且内核版本为3.7~3.9.


其它常用选项

-A 同时开启系统探测与服务版本探测(也称激烈模式).

-v 开启冗余模式,这样能得到详细的信息报告.

-e <interface> 使用指定网卡发送数据报文.

-6 启用ipv6扫描.




  • 声明: 评论属于其发表者所有,不代表本站的观点和立场.
  • mealayaria 回复该留言 时间: 2013-09-27

    留名表示来过 这些东西很受用

已有 1 位网友发表了一针见血的评论,你还等什么?
  • 昵称: *
  • 邮箱:
  • 网址:
  • 记住我的信息
  • Color
  • Red
  • Blue
  • Code
  • bash
  • cpp
  • css
  • java
  • js
  • perl
  • php
  • python
  • ruby
  • sql
  • xml